package com.diploma.interaction.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class WxxcxWzExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public WxxcxWzExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andWzidIsNull() {
            addCriterion("WZID is null");
            return (Criteria) this;
        }

        public Criteria andWzidIsNotNull() {
            addCriterion("WZID is not null");
            return (Criteria) this;
        }

        public Criteria andWzidEqualTo(BigDecimal value) {
            addCriterion("WZID =", value, "wzid");
            return (Criteria) this;
        }

        public Criteria andWzidNotEqualTo(Short value) {
            addCriterion("WZID <>", value, "wzid");
            return (Criteria) this;
        }

        public Criteria andWzidGreaterThan(Short value) {
            addCriterion("WZID >", value, "wzid");
            return (Criteria) this;
        }

        public Criteria andWzidGreaterThanOrEqualTo(Short value) {
            addCriterion("WZID >=", value, "wzid");
            return (Criteria) this;
        }

        public Criteria andWzidLessThan(Short value) {
            addCriterion("WZID <", value, "wzid");
            return (Criteria) this;
        }

        public Criteria andWzidLessThanOrEqualTo(Short value) {
            addCriterion("WZID <=", value, "wzid");
            return (Criteria) this;
        }

        public Criteria andWzidIn(List<Short> values) {
            addCriterion("WZID in", values, "wzid");
            return (Criteria) this;
        }

        public Criteria andWzidNotIn(List<Short> values) {
            addCriterion("WZID not in", values, "wzid");
            return (Criteria) this;
        }

        public Criteria andWzidBetween(Short value1, Short value2) {
            addCriterion("WZID between", value1, value2, "wzid");
            return (Criteria) this;
        }

        public Criteria andWzidNotBetween(Short value1, Short value2) {
            addCriterion("WZID not between", value1, value2, "wzid");
            return (Criteria) this;
        }

        public Criteria andWzbtIsNull() {
            addCriterion("WZBT is null");
            return (Criteria) this;
        }

        public Criteria andWzbtIsNotNull() {
            addCriterion("WZBT is not null");
            return (Criteria) this;
        }

        public Criteria andWzbtEqualTo(String value) {
            addCriterion("WZBT =", value, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtNotEqualTo(String value) {
            addCriterion("WZBT <>", value, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtGreaterThan(String value) {
            addCriterion("WZBT >", value, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtGreaterThanOrEqualTo(String value) {
            addCriterion("WZBT >=", value, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtLessThan(String value) {
            addCriterion("WZBT <", value, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtLessThanOrEqualTo(String value) {
            addCriterion("WZBT <=", value, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtLike(String value) {
            addCriterion("WZBT like", value, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtNotLike(String value) {
            addCriterion("WZBT not like", value, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtIn(List<String> values) {
            addCriterion("WZBT in", values, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtNotIn(List<String> values) {
            addCriterion("WZBT not in", values, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtBetween(String value1, String value2) {
            addCriterion("WZBT between", value1, value2, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWzbtNotBetween(String value1, String value2) {
            addCriterion("WZBT not between", value1, value2, "wzbt");
            return (Criteria) this;
        }

        public Criteria andWznrIsNull() {
            addCriterion("WZNR is null");
            return (Criteria) this;
        }

        public Criteria andWznrIsNotNull() {
            addCriterion("WZNR is not null");
            return (Criteria) this;
        }

        public Criteria andWznrEqualTo(String value) {
            addCriterion("WZNR =", value, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrNotEqualTo(String value) {
            addCriterion("WZNR <>", value, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrGreaterThan(String value) {
            addCriterion("WZNR >", value, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrGreaterThanOrEqualTo(String value) {
            addCriterion("WZNR >=", value, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrLessThan(String value) {
            addCriterion("WZNR <", value, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrLessThanOrEqualTo(String value) {
            addCriterion("WZNR <=", value, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrLike(String value) {
            addCriterion("WZNR like", value, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrNotLike(String value) {
            addCriterion("WZNR not like", value, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrIn(List<String> values) {
            addCriterion("WZNR in", values, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrNotIn(List<String> values) {
            addCriterion("WZNR not in", values, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrBetween(String value1, String value2) {
            addCriterion("WZNR between", value1, value2, "wznr");
            return (Criteria) this;
        }

        public Criteria andWznrNotBetween(String value1, String value2) {
            addCriterion("WZNR not between", value1, value2, "wznr");
            return (Criteria) this;
        }

        public Criteria andFbsjIsNull() {
            addCriterion("FBSJ is null");
            return (Criteria) this;
        }

        public Criteria andFbsjIsNotNull() {
            addCriterion("FBSJ is not null");
            return (Criteria) this;
        }

        public Criteria andFbsjEqualTo(Date value) {
            addCriterion("FBSJ =", value, "fbsj");
            return (Criteria) this;
        }

        public Criteria andFbsjNotEqualTo(Date value) {
            addCriterion("FBSJ <>", value, "fbsj");
            return (Criteria) this;
        }

        public Criteria andFbsjGreaterThan(Date value) {
            addCriterion("FBSJ >", value, "fbsj");
            return (Criteria) this;
        }

        public Criteria andFbsjGreaterThanOrEqualTo(Date value) {
            addCriterion("FBSJ >=", value, "fbsj");
            return (Criteria) this;
        }

        public Criteria andFbsjLessThan(Date value) {
            addCriterion("FBSJ <", value, "fbsj");
            return (Criteria) this;
        }

        public Criteria andFbsjLessThanOrEqualTo(Date value) {
            addCriterion("FBSJ <=", value, "fbsj");
            return (Criteria) this;
        }

        public Criteria andFbsjIn(List<Date> values) {
            addCriterion("FBSJ in", values, "fbsj");
            return (Criteria) this;
        }

        public Criteria andFbsjNotIn(List<Date> values) {
            addCriterion("FBSJ not in", values, "fbsj");
            return (Criteria) this;
        }

        public Criteria andFbsjBetween(Date value1, Date value2) {
            addCriterion("FBSJ between", value1, value2, "fbsj");
            return (Criteria) this;
        }

        public Criteria andFbsjNotBetween(Date value1, Date value2) {
            addCriterion("FBSJ not between", value1, value2, "fbsj");
            return (Criteria) this;
        }

        public Criteria andYdlIsNull() {
            addCriterion("YDL is null");
            return (Criteria) this;
        }

        public Criteria andYdlIsNotNull() {
            addCriterion("YDL is not null");
            return (Criteria) this;
        }

        public Criteria andYdlEqualTo(Short value) {
            addCriterion("YDL =", value, "ydl");
            return (Criteria) this;
        }

        public Criteria andYdlNotEqualTo(Short value) {
            addCriterion("YDL <>", value, "ydl");
            return (Criteria) this;
        }

        public Criteria andYdlGreaterThan(Short value) {
            addCriterion("YDL >", value, "ydl");
            return (Criteria) this;
        }

        public Criteria andYdlGreaterThanOrEqualTo(Short value) {
            addCriterion("YDL >=", value, "ydl");
            return (Criteria) this;
        }

        public Criteria andYdlLessThan(Short value) {
            addCriterion("YDL <", value, "ydl");
            return (Criteria) this;
        }

        public Criteria andYdlLessThanOrEqualTo(Short value) {
            addCriterion("YDL <=", value, "ydl");
            return (Criteria) this;
        }

        public Criteria andYdlIn(List<Short> values) {
            addCriterion("YDL in", values, "ydl");
            return (Criteria) this;
        }

        public Criteria andYdlNotIn(List<Short> values) {
            addCriterion("YDL not in", values, "ydl");
            return (Criteria) this;
        }

        public Criteria andYdlBetween(Short value1, Short value2) {
            addCriterion("YDL between", value1, value2, "ydl");
            return (Criteria) this;
        }

        public Criteria andYdlNotBetween(Short value1, Short value2) {
            addCriterion("YDL not between", value1, value2, "ydl");
            return (Criteria) this;
        }

        public Criteria andSwryDmIsNull() {
            addCriterion("SWRY_DM is null");
            return (Criteria) this;
        }

        public Criteria andSwryDmIsNotNull() {
            addCriterion("SWRY_DM is not null");
            return (Criteria) this;
        }

        public Criteria andSwryDmEqualTo(String value) {
            addCriterion("SWRY_DM =", value, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmNotEqualTo(String value) {
            addCriterion("SWRY_DM <>", value, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmGreaterThan(String value) {
            addCriterion("SWRY_DM >", value, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmGreaterThanOrEqualTo(String value) {
            addCriterion("SWRY_DM >=", value, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmLessThan(String value) {
            addCriterion("SWRY_DM <", value, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmLessThanOrEqualTo(String value) {
            addCriterion("SWRY_DM <=", value, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmLike(String value) {
            addCriterion("SWRY_DM like", value, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmNotLike(String value) {
            addCriterion("SWRY_DM not like", value, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmIn(List<String> values) {
            addCriterion("SWRY_DM in", values, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmNotIn(List<String> values) {
            addCriterion("SWRY_DM not in", values, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmBetween(String value1, String value2) {
            addCriterion("SWRY_DM between", value1, value2, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryDmNotBetween(String value1, String value2) {
            addCriterion("SWRY_DM not between", value1, value2, "swryDm");
            return (Criteria) this;
        }

        public Criteria andSwryXmIsNull() {
            addCriterion("SWRY_XM is null");
            return (Criteria) this;
        }

        public Criteria andSwryXmIsNotNull() {
            addCriterion("SWRY_XM is not null");
            return (Criteria) this;
        }

        public Criteria andSwryXmEqualTo(String value) {
            addCriterion("SWRY_XM =", value, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmNotEqualTo(String value) {
            addCriterion("SWRY_XM <>", value, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmGreaterThan(String value) {
            addCriterion("SWRY_XM >", value, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmGreaterThanOrEqualTo(String value) {
            addCriterion("SWRY_XM >=", value, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmLessThan(String value) {
            addCriterion("SWRY_XM <", value, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmLessThanOrEqualTo(String value) {
            addCriterion("SWRY_XM <=", value, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmLike(String value) {
            addCriterion("SWRY_XM like", value, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmNotLike(String value) {
            addCriterion("SWRY_XM not like", value, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmIn(List<String> values) {
            addCriterion("SWRY_XM in", values, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmNotIn(List<String> values) {
            addCriterion("SWRY_XM not in", values, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmBetween(String value1, String value2) {
            addCriterion("SWRY_XM between", value1, value2, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwryXmNotBetween(String value1, String value2) {
            addCriterion("SWRY_XM not between", value1, value2, "swryXm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmIsNull() {
            addCriterion("SWJG_DM is null");
            return (Criteria) this;
        }

        public Criteria andSwjgDmIsNotNull() {
            addCriterion("SWJG_DM is not null");
            return (Criteria) this;
        }

        public Criteria andSwjgDmEqualTo(String value) {
            addCriterion("SWJG_DM =", value, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmNotEqualTo(String value) {
            addCriterion("SWJG_DM <>", value, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmGreaterThan(String value) {
            addCriterion("SWJG_DM >", value, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmGreaterThanOrEqualTo(String value) {
            addCriterion("SWJG_DM >=", value, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmLessThan(String value) {
            addCriterion("SWJG_DM <", value, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmLessThanOrEqualTo(String value) {
            addCriterion("SWJG_DM <=", value, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmLike(String value) {
            addCriterion("SWJG_DM like", value, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmNotLike(String value) {
            addCriterion("SWJG_DM not like", value, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmIn(List<String> values) {
            addCriterion("SWJG_DM in", values, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmNotIn(List<String> values) {
            addCriterion("SWJG_DM not in", values, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmBetween(String value1, String value2) {
            addCriterion("SWJG_DM between", value1, value2, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgDmNotBetween(String value1, String value2) {
            addCriterion("SWJG_DM not between", value1, value2, "swjgDm");
            return (Criteria) this;
        }

        public Criteria andSwjgMcIsNull() {
            addCriterion("SWJG_MC is null");
            return (Criteria) this;
        }

        public Criteria andSwjgMcIsNotNull() {
            addCriterion("SWJG_MC is not null");
            return (Criteria) this;
        }

        public Criteria andSwjgMcEqualTo(String value) {
            addCriterion("SWJG_MC =", value, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcNotEqualTo(String value) {
            addCriterion("SWJG_MC <>", value, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcGreaterThan(String value) {
            addCriterion("SWJG_MC >", value, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcGreaterThanOrEqualTo(String value) {
            addCriterion("SWJG_MC >=", value, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcLessThan(String value) {
            addCriterion("SWJG_MC <", value, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcLessThanOrEqualTo(String value) {
            addCriterion("SWJG_MC <=", value, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcLike(String value) {
            addCriterion("SWJG_MC like", value, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcNotLike(String value) {
            addCriterion("SWJG_MC not like", value, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcIn(List<String> values) {
            addCriterion("SWJG_MC in", values, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcNotIn(List<String> values) {
            addCriterion("SWJG_MC not in", values, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcBetween(String value1, String value2) {
            addCriterion("SWJG_MC between", value1, value2, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andSwjgMcNotBetween(String value1, String value2) {
            addCriterion("SWJG_MC not between", value1, value2, "swjgMc");
            return (Criteria) this;
        }

        public Criteria andZtIsNull() {
            addCriterion("ZT is null");
            return (Criteria) this;
        }

        public Criteria andZtIsNotNull() {
            addCriterion("ZT is not null");
            return (Criteria) this;
        }

        public Criteria andZtEqualTo(Short value) {
            addCriterion("ZT =", value, "zt");
            return (Criteria) this;
        }

        public Criteria andZtNotEqualTo(Short value) {
            addCriterion("ZT <>", value, "zt");
            return (Criteria) this;
        }

        public Criteria andZtGreaterThan(Short value) {
            addCriterion("ZT >", value, "zt");
            return (Criteria) this;
        }

        public Criteria andZtGreaterThanOrEqualTo(Short value) {
            addCriterion("ZT >=", value, "zt");
            return (Criteria) this;
        }

        public Criteria andZtLessThan(Short value) {
            addCriterion("ZT <", value, "zt");
            return (Criteria) this;
        }

        public Criteria andZtLessThanOrEqualTo(Short value) {
            addCriterion("ZT <=", value, "zt");
            return (Criteria) this;
        }

        public Criteria andZtIn(List<Short> values) {
            addCriterion("ZT in", values, "zt");
            return (Criteria) this;
        }

        public Criteria andZtNotIn(List<Short> values) {
            addCriterion("ZT not in", values, "zt");
            return (Criteria) this;
        }

        public Criteria andZtBetween(Short value1, Short value2) {
            addCriterion("ZT between", value1, value2, "zt");
            return (Criteria) this;
        }

        public Criteria andZtNotBetween(Short value1, Short value2) {
            addCriterion("ZT not between", value1, value2, "zt");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}